Dynamicke vytvareni controls na formulari
Otázka od: Honza
14. 9. 2004 17:57
Potrebuji dynamicky na formulari vytvorit dalsi zalozku PageControl, do ni
umistit komponentu TreeView a obsluhovat jeji udalosti.
Nevim, jak toho dosahnout.
Lze to vubec udelat ?
Verze D6
Diky Honza
Odpovedá: Vit Krska
15. 9. 2004 7:20
>Potrebuji dynamicky na formulari vytvorit dalsi zalozku PageControl, do ni
umistit komponentu TreeView a obsluhovat jeji udalosti.
mrkni na
http://www.sunncity.com/Tutorial/Creating_Object_On_The_Fly.html
>
>Verze D6
>
>Diky Honza
>
= = = = = = = = = = = = = = = = = = = =
Vit Krska
vit.krska@del.cz
2004-09-15
Odpovedá: Petr Daricek
15. 9. 2004 7:00
Ahoj,
jasne ze to jde bude to asi neco takoveho:
var TabSheet2:TTabSheet;
TreeView:TTreeView;
begin
TabSheet2:=TTabSheet.Create(PageControl1);
Tabsheet2.PageControl:=PageControl1;
Tabsheet2.TabVisible := true;//Tohle myslim neni nutne
TabSheet2.Caption:='NEco';
TreeView:=TTreeView.Create(TabSheet2);
TreeView.Parent:=TabSheet2;
TreeView.Align:=alClient;
TreeView.OnClick:= //Zde priradis proceduru ktera ma deklaraci odpovidajici
udalosti, v tomto pripade TNotifyEvent
end.
Petr
Odpovedá: Honza
15. 9. 2004 19:55
A pokud budu chtit v procedure obsluhy (jedna spolecna pro vsechny Treeview
na pagecontrol) on click poznat, ktery ze control obsluhu vola - jak na to ?
Honza
> Ahoj,
> jasne ze to jde bude to asi neco takoveho:
>
> var TabSheet2:TTabSheet;
> TreeView:TTreeView;
> begin
> TabSheet2:=TTabSheet.Create(PageControl1);
> Tabsheet2.PageControl:=PageControl1;
> Tabsheet2.TabVisible := true;//Tohle myslim neni nutne
> TabSheet2.Caption:='NEco';
>
> TreeView:=TTreeView.Create(TabSheet2);
> TreeView.Parent:=TabSheet2;
> TreeView.Align:=alClient;
>
> TreeView.OnClick:= //Zde priradis proceduru ktera ma deklaraci
odpovidajici udalosti, v tomto pripade TNotifyEvent
> end.
>
> Petr
>
Potrebuji dynamicky na formulari vytvorit dalsi zalozku PageControl, do ni
umistit komponentu TreeView a obsluhovat jeji udalosti.
Odpovedá: Robert Suska
15. 9. 2004 20:15
Ahoj
Pri vytvarani si ich nejako pomenuj. Vytvor si konstanty s ich novym
TComponentName. Napr
const
const1 = 'TreeView1';
begin
TreeView:=TTreeView.Create(TabSheet2);
TreeView.Name := const1;
TreeView.Parent:=TabSheet2;
TreeView.Align:=alClient;
a zo sendera metody click budes citat asi takto. if TTreeView(Sender).Name
= const1 then nejaky kod pre treeview1. Resp. takto to bude viac koser:
if Sender is TTreeView then
if (Sender as TTreeView).Name = const1 then
nejaky kod......
Robo
>A pokud budu chtit v procedure obsluhy (jedna spolecna pro vsechny Treeview
> na pagecontrol) on click poznat, ktery ze control obsluhu vola - jak na to
> ?
> Honza